<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>138-查找字符串中某个字符出现的次数</title>
    <script>
        // 查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
        // 核心算法：先查找第一个o出现的位置
        // 然后 只要indexOf 返回的结果不是 -1 就继续往后查找
        // 因为indexOf 只能查找到第一个，所以后面的查找，一定是当前索引加1，从而继续查找

        var str = 'oabcoefoxyozzopp';
        var index = str.indexOf('o');
        var num = 0;
        // console.log(index);
        while (index !== -1) {
            console.log(index);
            num++;
            index = str.indexOf('o', index + 1);
        }
        console.log('o 出现的次数是：' + num);

        // 课后作业['red','blue','red','green','pink','red']，求 red 出现的位置和次数
        // 自写：
        // var arr = ['red', 'blue', 'red', 'green', 'pink', 'red'];
        // var index = arr.indexOf('red');
        // var num = 0;
        // while (index !== -1) {
        //     console.log(index);
        //     num++;
        //     index = arr.indexOf('red', index + 1);
        // }
        // console.log('red 出现的次数：' + num);

        // 自写：
        // var str = 'abcoefoxyozzopp';
        // var num = 0; // 字母 o 出现的次数
        // var startIdx = 0; // 开始查找的位置
        // var findIndex; // 找到的位置
        // while (true) {
        //     findIndex = str.indexOf('o', startIdx);
        //     if (findIndex === -1) {
        //         break;
        //     }
        //     if (findIndex > -1) {
        //         console.log(findIndex);
        //         startIdx = findIndex + 1;
        //         num++;
        //     }
        // }
        // console.log(num, startIdx, findIndex);
        // 输出控制台信息如下：
        // 3
        // 6
        // 9
        // 12
        // 4 13 -1
    </script>
</head>

<body>

</body>

</html>